class Solution {
    public int getWinner(int[] arr, int k) {
        int maxinum = arr[0];
        int consistency = 0;

        // 前arr.len-1次比较时，不需要将败者移到数组末尾——实质上下一个要比较的数据就是arr[i]
        for (int i = 1; i < arr.length; i++){
            if (maxinum > arr[i]){
                consistency++;
            } else {
                consistency = 1;
                maxinum = arr[i];
            }

            // 当 k < arr.length-1时，需要进行模拟找出第一个胜者
            if (consistency==k){
                return maxinum;
            }
        }

        // 当k>=arr.length-1时，实际上会以冒泡的形式比较出最大值，最后返回最大值即可
        return maxinum;
    }
}